﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Data;

//namespace NLite.Data
//{
   
//    public partial class SqlBoolean : SqlBooleanBase,IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlBoolean(string name, string table):base( NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type,name);
//            Table = table;
//        }
//        protected override SqlBooleanParameter CreateParameter(bool? value)
//        {
//            return new SqlBooleanParameter(Identity,value);
//        }
        
//    }

//    public partial class SqlByte :SqlByteBase,IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlByte(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }
//        protected override SqlByteParameter CreateParameter(byte? value)
//        {
//            return new SqlByteParameter(Identity, value);
//        }
//    }

//    public partial class SqlInt16  :SqlInt16Base,IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlInt16(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }
//        protected override SqlInt16Parameter CreateParameter(short? value)
//        {
//            return new SqlInt16Parameter(Identity,value);
//        }
//    }
//    public partial class SqlInt32 : SqlInt32Base, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlInt32(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }
//        protected override SqlInt32Parameter CreateParameter(int? value)
//        {
//            return new SqlInt32Parameter(Identity, value);
//        }
//    }

//    public partial class SqlInt64 : SqlInt64Base, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlInt64(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        protected override SqlInt64Parameter CreateParameter(long? value)
//        {
//            return new SqlInt64Parameter(Identity, value);
//        }
//    }

//    public partial class SqlDouble : SqlDoubleBase, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlDouble(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        protected override SqlDoubleParameter CreateParameter(double? value)
//        {
//            return new SqlDoubleParameter(Identity, value);
//        }
//    }
//    public partial class SqlDecimal : SqlDecimalBase, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlDecimal(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }
//        protected override SqlDecimalParameter CreateParameter(decimal? value)
//        {
//            return new SqlDecimalParameter(Identity, value);
//        }
//    }

//    public partial class SqlSingle : SqlSingleBase, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlSingle(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        protected override SqlSingleParameter CreateParameter(float? value)
//        {
//            return new SqlSingleParameter(Identity, value);
//        }
//    }

//    public partial class SqlAnsiString : SqlAnsiStringBase,IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlAnsiString(string name, string table, int? size)
//            : base(NodeType.Column)
//        {
//            Table = table;
//            Type = SqlTypes.SqlType.GetAnsiString(size.HasValue ? size.Value : DbConfig.DefaultLength);
//            Identity = NameIdentity.Get(Type, name, ParameterDirection.Input);

//        }

//        public SqlAnsiString(string name, string table)
//            : this(name,table,null)
//        {
//        }

//        protected override SqlAnsiStringParameter CreateParameter(string value)
//        {
//            return new SqlAnsiStringParameter(Identity, value);
//        }

//        protected override SqlAnsiStringParameter CreateParameter(string name, string value)
//        {
//            return new SqlAnsiStringParameter(name, value);
           
//        }
//    }
   
//    public partial class SqlString : SqlStringBase, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlString(string name, string table, int? size)
//            : base(NodeType.Column)
//        {
//            Type = SqlTypes.SqlType.GetString(size.HasValue ? size.Value : DbConfig.DefaultLength);
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        public SqlString(string name, string table)
//            : this(name, table, null)
//        {
//        }

//        protected override SqlStringParameter CreateParameter(string value)
//        {
//            return new SqlStringParameter(Identity, value);
//        }

//        protected override SqlStringParameter CreateParameter(string name, string value)
//        {
//            return new SqlStringParameter(name, value);

//        }
//    }

//    public partial class SqlClob : SqlClobBase,IColumnNode
//    {
//       public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlClob(string name, string table, int? size)
//            : base(NodeType.Column)
//        {
//            Type = SqlTypes.SqlType.Clob;
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        public SqlClob(string name, string table)
//            : this(name, table, null)
//        {
//        }

//        protected override SqlClobParameter CreateParameter(string value)
//        {
//            return new SqlClobParameter(Identity, value);
//        }

//        protected override SqlClobParameter CreateParameter(string name, string value)
//        {
//            return new SqlClobParameter(name, value);

//        }
//    }
//    public partial class SqlNClob : SqlNClobBase,IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlNClob(string name, string table, int? size)
//            : base(NodeType.Column)
//        {
//            Type = SqlTypes.SqlType.NClob;
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        public SqlNClob(string name, string table)
//            : this(name, table, null)
//        {
//        }

//        protected override SqlNClobParameter CreateParameter(string value)
//        {
//            return new SqlNClobParameter(Identity, value);
//        }

//        protected override SqlNClobParameter CreateParameter(string name, string value)
//        {
//            return new SqlNClobParameter(name, value);

//        }
//    }

//    public partial class SqlGuid : SqlGuidBase, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlGuid(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        protected override SqlGuidParameter CreateParameter(Guid? value)
//        {
//            return new SqlGuidParameter(Identity,value);
//        }
//    }

//    public partial class SqlDateTime : SqlDateTimeBase, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlDateTime(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        protected override SqlDateTimeParameter CreateParameter(DateTime? value)
//        {
//            return new SqlDateTimeParameter(Identity, value);
//        }
//    }

//    public partial class SqlBinary : SqlBinaryBase, IColumnNode
//    {
//        public NameIdentity Identity { get; private set; }
//        public string Table { get; private set; }

//        public SqlBinary(string name, string table)
//            : base(NodeType.Column)
//        {
//            Identity = NameIdentity.Get(Type, name);
//            Table = table;
//        }

//        protected override SqlBinaryParameter CreateParameter(byte[] value)
//        {
//            return new SqlBinaryParameter(Identity, value);
//        }
//    }
    
//}
